package com.gluck.cases.app.biz.impl;

import com.github.pagehelper.PageInfo;
import com.gluck.cases.core.modal.dto.CasesApiDTO;
import com.gluck.cases.core.modal.dto.CasesGroupDTO;
import com.gluck.cases.core.modal.dto.CasesTestsDTO;

import java.util.List;

/**
 * @ClassName CasesGroupService
 * @Desc CasesGroupService
 * @Author shiyongzhe
 * @Date 2022/6/3 - 4:29 下午
 **/
public interface CasesGroupService {

    /**
     * 功能描述: 查询用例分组信息
     * @Params [dto, page, size]
     * @Return com.github.pagehelper.PageInfo<com.gluck.cases.core.modal.dto.CasesGroupDTO>
     * @Author I`m Gluck
     * @Date 2022/6/3
     */
    PageInfo<CasesGroupDTO> queryList(CasesGroupDTO dto, int page, int size);


    /**
     * 功能描述: 产讯用例详情
     * @Params [id]
     * @Return com.gluck.cases.core.modal.dto.CasesGroupDTO
     * @Author I`m Gluck
     * @Date 2022/6/3
     */
    PageInfo<CasesTestsDTO> queryGroupDetailById(Long id, int page, int size);

    /**
     * 功能描述: 更新用例组
     * @Params [dto]
     * @Return boolean
     * @Author I`m Gluck
     * @Date 2022/6/3
     */
    boolean updateCasesApi(CasesGroupDTO dto);

    /**
     * 功能描述: 删除测试用例组
     * @Params [ids]
     * @Return boolean
     * @Author I`m Gluck
     * @Date 2022/6/3
     */
    boolean deleteCasesApis(List<Long> ids);

    /**
     * 功能描述: 用例组关联用例
     * @Params [gid, dtos]
     * @Return boolean
     * @Author I`m Gluck
     * @Date 2022/6/3
     */
    boolean associateCasesTests(Long gid, String name, List<Long> casesIds );
}
